package application;
import static org.junit.Assert.assertEquals;
import gui.CertificateTab;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.security.SignatureException;
import java.security.cert.CertificateEncodingException;
import java.security.spec.InvalidKeySpecException;
import java.util.List;
import model.BurpCertificate;
import model.BurpCertificateStore;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.Before;
import org.junit.Test;
public class CertificateStoreTest {
BurpCertificateStore burpCertificateStore;
@Before
public void setup() throws CertificateEncodingException, InvalidKeyException, IllegalStateException, NoSuchAlgorithmException, SignatureException, NoSuchProviderException,
InvalidKeySpecException, IOException {
Security.addProvider(new BouncyCastleProvider());
burpCertificateStore = new BurpCertificateStore();
// Single Certificate
BurpCertificateBuilder b1 = new BurpCertificateBuilder("CN=example.net");
BurpCertificate c1 = b1.generateSelfSignedCertificate();
burpCertificateStore.addCertificate(c1);
// Single Certificate
BurpCertificateBuilder b2 = new BurpCertificateBuilder("CN=foobar.net");
BurpCertificate c2 = b2.generateSelfSignedCertificate();
burpCertificateStore.addCertificate(c2);
// Single Certificate
BurpCertificateBuilder b3 = new BurpCertificateBuilder("CN=gugus.lan");
BurpCertificate c3 = b3.generateSelfSignedCertificate();
burpCertificateStore.addCertificate(c3);
// Certificate Chain
CertificateTabController certificateTabController = new CertificateTabController(new CertificateTab());
List<BurpCertificate> certificateChain = certificateTabController.importCertificateChain("src/test/resources/hsr_chain.pem");
burpCertificateStore.addCertificateChain(certificateChain);
certificateTabController.cloneCertificateChain(certificateChain);
}
@Test
public void certsWithPrivateKeyCountIsCorrect() {
assertEquals(3, burpCertificateStore.getBurpCertificatesWithPrivateKey().size());
}
}